﻿/**
 *   PantallaCreditos: Pantalla de créditos, que muestra los nombres
 *   de los autores
 *
 *   @see Menu Juego Saboteur
 *   @author 1-DAI IES San Vicente 2010/11
 */

/* --------------------------------------------------
   Parte de Saboteur - Remake
   Versiones hasta la fecha:

   Num.   Fecha       Por / Cambios
   ---------------------------------------------------
   0.11  02-Nov-2010   Nacho
                       Creada la clase, extraida de Menu, para facilitar
                         el reparto de trabajo
 ---------------------------------------------------- */

using System;

class PantallaCreditos
{
    ElemGrafico fondoMenu;
    Fuente fuente;

    public PantallaCreditos(Juego j)
    {
        fondoMenu = new ElemGrafico(
            j.GetCarpetaImagenes() + "fondoMenu.png");
        fuente = new Fuente("FreeSansBold.ttf", 18);
    }


    public void Lanzar()
    {
        string[] nombres ={

          "Kiko",
          "Jose",
          "Rafa",
          "Edu",
          "Paco",
          "Lucia",
          "Adri",
          "Carlos",
          "Sergio",
          "Pablo",
          "Jabi",
          "Anaïss",
          "Tony",
          "Rizo",
          "Piqueres",
          "Nacho",
          " ",
          "D.A.I. IES San Vicente 2009",
          " ",
          "Pulsa V para volver"
        };

        bool salirCreditos = false;

        //Coordenadas los textos
        int x = 300;

        byte intensidadRojo = 0;
        sbyte incrRojo = 1;

        while (!salirCreditos)
        {
            Hardware.BorrarPantallaOculta(0, 0, 0); // Borro en negro
            fondoMenu.Dibujar(0, 0);

            Hardware.EscribirTextoOculta("Autores del juego",
                 300, 40, 0x88, 0x88, 0xFF, fuente);

            //Mostrar vector de nombres
            for (int j = 0; j < nombres.Length; j++)
            {
                //Texto de los créditos
                Hardware.EscribirTextoOculta(nombres[j],
                    (short)(40 + x), (short)(70 + j * 20),
                    intensidadRojo, (byte)(255 - intensidadRojo), (byte)(j * 8),
                    fuente);

                intensidadRojo = (byte)(intensidadRojo + incrRojo);

                if (intensidadRojo >= 250) incrRojo = -1;
                if (intensidadRojo <= 10) incrRojo = 1;
            }

            Hardware.VisualizarOculta();

            Hardware.Pausa(120);
            if (Hardware.TeclaPulsada(Hardware.TECLA_V))
                salirCreditos = true;
        }

    }
}
